Aplicaciones TEF - Servicios publicados¶
Definiciones¶
Adquirentes¶
03 - Cielo
04 - Global
06 - Stone
07 - Adiq
08 - Pagseguro
11 - Acqio
Recibos de Impresión¶
0 - Segundo recibo
1 - Primer recibo
2 - Todos los recibos
Tipos de Establecimientos¶
0 - Establecimiento de Red
1 - Establecimiento Principal
2 - Sub establecimiento
Tipos de Pago¶
1 - Credito a Contado
4 - Credito en Cuotas de la Tienda
5 - Credito en Cuotas del Emisor
6 - Debito a Contado
8 - Pre-Autorización
9 - Confirmación de la Pre-Autorización
Servicios¶
La API de Pagos consisten en un conjunto de servicios disponibles para realizar transacciones financieras.
| package://tef/services.wmlsc |
|---|
tef.connect¶
Servicio que inicia previamentela comunicación PhAST para realizar transacciones.
Por patrón, la comunicación se inicia durante la ejecución de la transacción y finaliza al final de la transacción. Utilizando este servicio, es posible iniciar la comunicación antes de que se ejecute la transacción y mantener la misma conexión para la ejecución de múltiples transacciones. Importante: Cuando se ejecuta el servicio
tef.connect, la comunicación solo se finalizará con la ejecución del serviciotef.disconnect.
tef.disconnect¶
Servicio para finalizar la comunicación del PhAST. Debe ser llamado después del
tef.connect, cuando la conexión ya no es necesaria.
tef.refund¶
Servicio de devolución, proporcionado por la aplicación TEF. Este servicio recibe como entrada un
PhStructcon la definiciónTefServices#REFUND_REQUEST_DEFINITION(), que contiene atributos de configuración y devuelve unPhStructcon la definiciónTefServices#REFUND_RESPONSE_DEFINITION(), conteniendo información sobre la ejecución de la devolución.
- Entrada:
Campo Tipo Descripción Comportamiento patrón value string Monto de la transacción Capturar date date Fecha en que se realizó la transacción Capturar nsu string NSU del autorizador de transacciones Capturar boolean Indica si el TEF debe imprimir el recibo al final de la transacción No imprimir additionalData string Datos que la aplicación puede enviar al PhAST Server en la solicitud de transacción. Tamaño máximo: 50 bytes. "" (vacio) include.acquires stringList Indica qué adquirentes se incluirán en la lista Todos include.ecs stringList Indica qué establecimientos se incluirán en la lista Todos exclude.acquires stringList Indica qué adquirentes serán excluidos de la lista Ninguno exclude.ecs stringList Indica qué establecimientos serán excluidos de la lista Ninguno
- Salida:
Campo Tipo Descripción result.error string En caso de error, contiene el código de error qué ocurrió y en caso de éxito, string vacía (""). result.message string En caso de error, contiene la mensaje asociado con el error que ocurrió yen caso de éxito, string vacía (""). network.name string Nombre de la red (o adquirente) que la terminal esta registrada. acquire.id string Código del adquirente acquire.name string Nombre del adquirente ec.id string Código del establecimiento ec.name string Nombre del establecimiento ec.type byte Tipo de establecimiento (Ver sección Tipos de Establecimientos) ec.nationalId string CUIT o CUIL del Tendero card.type string Bandera de la tarjeta card.brand string Bandera de la tarjeta card.pan string PAN de la tarjeta card.holder string Nombre del portador de la tarjeta card.exp string Fecha de expiración de la tarjeta card.service word Código de servicio de la tarjeta card.appLabel string Label de aplicación de la tarjeta refund.value string Monto del pago refund.datetime datetime Hora del pago refund.nsu.client dword NSU (Número Secuencial Único) de la terminal refund.nsu.server dword NSU del servidor refund.nsu.acquire string NSU del adquirente refund.nsu.auth dword NSU del autorizador refund.vias longStringList Lista con los recibos de impresión del establecimiento y cliente de devolución refund.origional_payment.value string Monto del pago refund.origional_payment.parcells string Cantidad de cuotas refund.origional_payment.datetime datetime Hora del pago refund.origional_payment.nsu.server dword NSU del servidor refund.origional_payment.nsu.acquire string NSU del adquirente refund.origional_payment.nsu.auth dword NSU del autorizador Ejemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var response = Service#execute("tef.refund", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "refund.value") > 0) { Dialogs.alert("¡Transacción completada con éxito!"); } else { Dialogs.alert("Transacción no completada"); }Salida:
¡Transacción completada con éxito!
tef.payment¶
Servicio de Pago, proporcionado por la aplicación TEF, sin previa elección de la operación financiera a ejecutar. Este servicio recibe como entrada un
PhStructcon la definiciónTefServices#PAYMENT_REQUEST_DEFINITION(), que contiene atributos de configuración y devuelve unPhStructcon la definiciónTefServices#REFUND_RESPONSE_DEFINITION(), conteniendo información sobre la ejecución de la devolución.En caso de que alguno de los campos del
PhStructde la entrada no sea llenado, se asumirá su ** Comportamiento patrón**. Por ejemplo, caso el campo valor no sea definido en la estructura, se exhibirá un input para qué el operador ingrese el monto de la transacción.
- Entrada:
Campo Tipo Descripción Comportamiento patrón value string Monto de la transacción Capturar cashback string Cantidad de vuelto Capturar parcells string Número de cuotas Capturar boolean Indica si el TEF debe imprimir el recibo al final de la transacción No imprimir type byte Tipo de pago (Ver sección Tipos de Pago) Capturar additionalData string Datos que la aplicación puede enviar al PhAST Server en la solicitud de transacción. Tamaño máximo: 50 bytes. "" (vacio) include.trnsTypes byteList Indica los tipos de pagos se incluirán en la lista Todos include.acquires stringList Indica qué adquirentes se incluirán en la lista Todos include.ecs stringList Indica qué establecimientos se incluirán en la lista Todos exclude.trnsTypes byteList Indica qué establecimientos se incluirán en la lista Ninguno exclude.acquires stringList Indica qué adquirentes serán excluidos de la lista Ninguno exclude.ecs stringList Indica qué establecimientos serán excluidos de la lista Ninguno
- Salida:
Campo Tipo Descripción result.error string En caso de error, contiene el código de error qué ocurrió y en caso de éxito, string vacía (""). result.message string En caso de error, contiene la mensaje asociado con el error que ocurrió yen caso de éxito, string vacía (""). network.name string Nombre de la red (o adquirente) que la terminal esta registrada. acquire.id string Código da adquirente acquire.name string Nombre del adquirente ec.id string Código del establecimiento ec.name string Nombre del establecimiento ec.type byte Tipo de establecimiento ec.nationalId string CUIT del estabelecimiento product.id byte Código del producto product.name string Nombre del producto product.withInterest string Label de la transacción con interés product.withoutInterest string Label de la transacción sin interés product.aid string Identificador de la aplicación de la tarjeta product.arqc string Criptograma de solicitud de autorización product.imgName string Nombre de la imagen de la bandera de la tarjeta (utilizado en el recibo gráfico) card.type string Bandera de la tarjeta card.brand string Bandera de la tarjeta card.pan string PAN de la tarjeta card.holder string Titular de la tarjeta card.exp string Fecha de vencimiento de la tarjeta card.service dword Identificador de servicio (Credito, Credito en Cuotas, Debito, etc) card.appLabel string Label de aplicación de la tarjeta payment.type byte Tipo de pago payment.value string Monto de pago payment.cashback string Monto del vuelto payment.parcells string Número de cuotas payment.datetime datetime Hora del pago payment.balance string Saldo de la tarjeta payment.dtPreDated string Fecha del debito predatado payment.guarantee string En caso de debito predatado,indica si es con o sin garantía payment.acquireId string Nombre del adquirente payment.transactionName string Nombre de la transacción payment.issueName string Nombre del emisor payment.nsu.client dword NSU (Número Secuencial Único) de la terminal payment.nsu.server dword NSU del servidor payment.nsu.acquire string NSU del adquirente payment.nsu.auth dword NSU del autorizador payment.vias longStringList Lista con los recibos de impresión del establecimiento y cliente del pago payment.tvr byte Valor del TVR (Terminal Verification Result) payment.cvm byte Resultado de CVM (Cardholder Verification Method) payment.tlv1 string TLV del 1st Generate AC payment.tlv2 string TLV del 2nd Generate AC payment.tlvS string TLV del servidor payment.responseCode string Código de respuesta del servidor Ejemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); Service#execute("tef.connect", []); PhStruct.set(request, "value", 5000); //R$ 50,00 PhStruct.set(request, "print", true); // Imprime el recibo al final de la transacción. var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { Dialogs.alert("¡Transacción completada con éxito!"); } else { Dialogs.alert("¡Pago no realizado!"); } Service#execute("tef.disconnect", []);Salida:
¡Transacción completada con éxito!
tef.print.last¶
Servicio de impresión de la última transacción realizada.
Entrada:
reprint (boolean): Indica si la impresión que se va a realizar es reimpresión o no.
- via (integer): Indicación de los recibos que deben ser impresos.
Ejemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { Dialogs.alert("Imprimiendo..."); Service#execute("tef.print.last", [false, 2]); } else { Dialogs.alert("¡Pago no realizado!"); }Salida:
Imprimiendo...
tef.print.list¶
Servicio de impresión de una lista de transacciones.
Entrada:
nsuList (PhList): Lista con las NSU de las transacciones que serán impresas.
- reprint (boolean): Indicación de si la impresión que se va a realizar es reimpresión o no.
- via (integer): Indicación de las copias del recibo que deben imprimirse.
Ejemplo:
use url Service "package://phast#applet/service.wmlsc"; use url TefServices "package://tef/services.wmlsc"; var request = PhStruct.create(TefServices#PAYMENT_REQUEST_DEFINITION()); var nsuList = []; for(var i = 0; i < 3; i++) { var response = Service#execute("tef.payment", [request]); if (PhStruct.get(response, "result.error") == "" && PhStruct.get(response, "payment.value") > 0) { PhList.add(nsuList, PhType.getValue(PhStruct.get(response, "payment.nsu.server"), 0)); } else { Dialogs.alert("¡Pago no realizado!"); } } if (PhList.count(nsuList) > 0) { Dialogs.alert("Imprimiendo recibos..."); Service#execute("tef.print.list", [nsuList, false, 2]); }Salida:
Imprimiendo recibos...